package com.yida.gwj.finance.mapper;

import com.yida.gwj.api.domain.GwjFinanceMoney;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 缴存金额收入总帐明细Mapper接口
 *
 * @author lqq
 * @date 2022-12-28
 */
public interface GwjFinanceMoneyMapper {
	/**
	 * 查询缴存金额收入总帐明细
	 *
	 * @param moneyId 缴存金额收入总帐明细主键
	 * @return 缴存金额收入总帐明细
	 */
	public GwjFinanceMoney selectFinanceMoneyByMoneyId(Long moneyId);

	/**
	 * 查询缴存金额收入总帐明细列表
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	public List<GwjFinanceMoney> selectFinanceMoneyList(GwjFinanceMoney financeMoney);

	/**
	 * 查询缴存金额收入总帐明细列表
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	public List<GwjFinanceMoney> selectFinanceMoneyDetailList(GwjFinanceMoney financeMoney);

	/**
	 * 统计缴存金额
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 缴存金额收入总帐明细集合
	 */
	BigDecimal countDepositMoney(GwjFinanceMoney financeMoney);

	/**
	 * 新增缴存金额收入总帐明细
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 结果
	 */
	public int insertFinanceMoney(GwjFinanceMoney financeMoney);

	/**
	 * 修改缴存金额收入总帐明细
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 结果
	 */
	public int updateFinanceMoney(GwjFinanceMoney financeMoney);

	/**
	 * 修改缴存金额收入总帐明细
	 *
	 * @param financeMonies 缴存金额收入总帐明细
	 * @return 结果
	 */
	public int updateBatchFinanceMoney(@Param("financeMonies") List<GwjFinanceMoney> financeMonies);

	/**
	 * 删除缴存金额收入总帐明细
	 *
	 * @param moneyId 缴存金额收入总帐明细主键
	 * @return 结果
	 */
	public int deleteFinanceMoneyByMoneyId(Long moneyId);

	/**
	 * 批量删除缴存金额收入总帐明细
	 *
	 * @param moneyIds 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deleteFinanceMoneyByMoneyIds(Long[] moneyIds);

	/**
	 * 缴存金额收入总帐明细清空绑定的业务信息
	 *
	 * @param financeMoney 缴存金额收入总帐明细
	 * @return 结果
	 */
	int clearFinanceMoneyBizInfo(GwjFinanceMoney financeMoney);
}
